﻿namespace PlanB.Core.Logging
{
    /// <summary>
    /// Defines the severity of events written to the log. 
    /// </summary>
    public enum EventServerity : int
    {
        /// <summary>
        /// Indicates a problem state that needs the immediate attention
        /// </summary>
        ErrorCritical = 30,

        /// <summary>
        /// Indicates a problem state that needs the attention
        /// </summary>
        Error = 40,

        /// <summary>
        /// Indicates conditions that are not immediately significant but that may eventually cause failure.
        /// </summary>
        Warning = 50,

        /// <summary>
        /// Informational message - Contains noncritical information
        /// </summary>
        Information = 80,

        /// <summary>
        /// Debugging trace
        /// </summary>
        Verbose = 100,

        /// <summary>
        /// No information will be written
        /// </summary>
        None = 0

    }

    /// <summary>
    /// Defines the level of the Inner Exceptions which will be logged
    /// </summary>
    public enum InnerExceptionsLevel : int
    {
        /// <summary>
        /// No inner exceptions will be written into the log
        /// </summary>
        None = 0,

        /// <summary>
        /// All inner exceptions will be written into the log
        /// </summary>
        All = 20,

        /// <summary>
        /// Only first inner exception will be written into the log
        /// </summary>
        First = 20
    }
}
